package com.baidu.ota.interfaces;

import android.content.Context;

import com.baidu.commonlib.interfaces.IOtaSdkHelper;
import com.baidu.commonlib.interfaces.IUpgradeInterface;

/**
 * Application代理接口
 */
public interface IApplicationProxy {
    /**
     * 系统信息
     *
     * @return object
     */
    ISystemInfo getSystemInfo();

    /**
     * 通知处理器
     * DefaultNotifyHandler为默认通知处理器，可选使用
     *
     * @return 返回null，表示不处理任何通知
     */
    INotifyHandler getNotifyHandler();

    /**
     * 自定义升级对象
     *
     * @param context cx
     * @param pid     产品线id
     * @return 返回null则使用SDK内部默认的Recovery升级实现
     */
    IUpgradeInterface getCustomUpgrade(Context context, String pid);

    /**
     * 系统升级包的下载/升级路径（前提：此路径在recovery模式下已挂载）
     *
     * @param context cx
     * @return 返回""则使用SDK内部默认的Environment.getDownloadCacheDirectory().getAbsolutePath();
     */
    String getUpgradePath(Context context);

    /**
     * 服务创建后
     *
     * @param helper ota helper
     */
    void onCreated(IOtaSdkHelper helper);
}
